/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package cn.tzauto.octopus.secsLayer.util;

import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import org.apache.log4j.Logger;

/**
 *
 * @author SunTao
 * @date 2018-8-13 14:28:44
 * @version V1.0
 * @desc
 */
public class WaferTransferUtil {

    
    private static final Logger logger = Logger.getLogger(WaferTransferUtil.class.getName());
    
    public static String transferAngleAsFlatNotchLocation(String binList, long FlatNotchLocation, String rowCount, String columnCount) {
        String binListb = "";
        char[] bins = binList.toCharArray();
        bins = transferAngle(bins, String.valueOf(FlatNotchLocation%360), Integer.valueOf(rowCount), Integer.valueOf(columnCount));
        binListb = String.valueOf(bins);
        return binListb;
    }
    
    public static String transferAngleAsFlatNotchLocation(String binList, long FlatNotchLocation, int rowCount, int columnCount) {
        String binListb = "";
        char[] bins = binList.toCharArray();
        bins = transferAngle(bins, String.valueOf(FlatNotchLocation % 360), rowCount, columnCount);
        binListb = String.valueOf(bins);
        return binListb;
    }
    
    private static char[] transferAngle(char[] src, String angle, int row, int col) {
        logger.info("对mapping进行角度旋转，旋转角度为：" + angle);
        if ("0".equals(angle)) {
            return src;
        }
        char[] tmp = transferArgs1(src, row, col);
        if ("90".equals(angle)) {
            return tmp;
        }
        if ("180".equals(angle)) {
            tmp = transferArgs1(tmp, col, row);
        }
        if ("270".equals(angle)) {
            tmp = transferArgs1(tmp, col, row);
            tmp = transferArgs1(tmp, row, col);
        }
        return tmp;
    }
    
    private static char[] transferArgs(char[] src, int row, int col) {
        
        int i, j;
        char[][] num;
        num = new char[row][col];
        int count = 0;
        for (i = 0; i < row; i++) {
            for (j = 0; j < col; j++) {
                if (i == 0) {
                    num[i][j] = src[j];
                } else {
                    num[i][j] = src[count];
                }
                count++;
            }
        }
        
        char[][] num2;
        num2 = new char[col][row];
        
        for (i = 0; i < num.length; i++) {
            for (j = 0; j < num[i].length; j++) {
                num2[j][i] = num[i][j];
            }
        }

//            long[][] num3 = num2;
//            for (i = 0; i < num2.length; i++) {
//                for (j = 0; j < num2[i].length; j++) {
//                    long[] tmp = num2[i];
//                    for (int m = 0; m < num3[i].length; m++) {
//                        for (int p = tmp.length - 1; p > -1; p--) {
//                            num3[i][m] = tmp[p];
//                        }
//                    }
//                }
//            }
        System.out.println("-----------分割------------");
        char[] result = new char[src.length];
        List results = new LinkedList();
        for (i = 0; i < num2.length; i++) {
            for (j = 0; j < num2[i].length; j++) {
                results.add(num2[i][j]);
                // System.out.println("num2" + "[" + i + "]" + "[" + j + "]" + "---" + num2[i][j]);
            }
        }
        for (i = 0; i < results.size(); i++) {
//            result[i] = Long.parseLong(String.valueOf(results.get(i)));
            System.out.print(result[i] + " ");
            
        }
        return result;
    }
    public static char[][] toDoubleArray(String bins, int row, int col){
        char[] src = bins.toCharArray();
        char[][] doubleArray = new char[row][col];
        int count = 0;
        for (int i = 0; i < row; i++) {
            for (int j = 0; j < col; j++) {
                doubleArray[i][j] = src[count];
                count++;
            }
        }
        return doubleArray;
    }
    
    public static Map<String, Integer> blankCheck(char blankBin,String bins, int row, int col) {
        logger.info("blankCheck start ");
        Map<String, Integer> map = new HashMap<String, Integer>();
        char[][] binArray = WaferTransferUtil.toDoubleArray(bins, row, col);
        int up = 0;
        boolean upEnd = false;
        for (int i = 0; i < row; i++) {
            if(upEnd){
                break;
            }
            for (int j = 0; j < col; j++) {
                if (blankBin == binArray[i][j]) {
                    continue;
                } else {
                    up = i;
                    map.put("UP", i);
                    upEnd = true;
                    break;
                }
            }
        }
        
        boolean downEnd = false;
        for (int i = row - 1; i >0; i--) {
            if (downEnd) {
                break;
            }
            for (int j = 0; j < col; j++) {
                if (blankBin == binArray[i][j]) {
                    continue;
                } else {
                    map.put("DOWN", i);
                    downEnd = true;
                    break;
                }
            }
        }
        
        boolean leftEnd = false;
        for (int i = 0; i < col; i++) {
            if (leftEnd) {
                break;
            }
            for (int j = 0; j < row; j++) {
                if (blankBin == binArray[j][i]) {
                    continue;
                } else {
                    up = i;
                    map.put("LEFT", i);
                    leftEnd = true;
                    break;
                }
            }
        }
        
        boolean rightEnd = false;
        for (int i = col - 1; i > 0; i--) {
            if (rightEnd) {
                break;
            }
            for (int j = 0; j < row; j++) {
                if (blankBin == binArray[j][i]) {
                    continue;
                } else {
                    map.put("RIGHT", i);
                    rightEnd = true;
                    break;
                }
            }
        }
        logger.info("blankCheck end ");
        return map;
    }
    
    private static char[] transferArgs1(char[] src, int row, int col) {
        int i, j;
        char[][] num = new char[row][col];
        int count = 0;
        for (i = 0; i < row; i++) {
            for (j = 0; j < col; j++) {
                if (i == 0) {
                    num[i][j] = src[j];
                } else {
                    num[i][j] = src[count];
                }
                count++;
            }
        }
        char[][] num2 = new char[col][row];
        i = 0;
        for (int k = num.length - 1; k > -1; k--) {
            int tmp = 0;
            for (int p = 0; p < num2.length; p++) {
                num2[tmp][k] = num[i][p];
                tmp++;
            }
            i++;
        }
        char[] result = new char[src.length];
        List results = new LinkedList();
        for (i = 0; i < num2.length; i++) {
            for (j = 0; j < num2[i].length; j++) {
                results.add(num2[i][j]);
//                 System.out.println("num2" + "[" + i + "]" + "[" + j + "]" + "---" + num2[i][j]);
            }
        }
        for (i = 0; i < results.size(); i++) {
            result[i] = (char) results.get(i);
//            System.out.print(result[i] + " ");
        }
        return result;
    }
    public static void main(String[] args) {

//        String binlist = "...........................$11..................................................111111111$1............................................111111111111111........................................111111111111111$111.....................................111$11111111111111111..................................1111111111111111111111111...............................1111111111111$1111111111111.............................11111111111111111111111111111...........................111111111111$111111111111111111..........................1111111111$111111111111111111111........................111111111111111111111111111111111.......................11111111111111111111111111111111$11.....................11111111111111111111$1111111111111111....................1111111111111111111111111111111111111...................11111111$111111111111111111111111111111..................111111$111111111111111111111111111111111................11111111111111111111111111111111111111111...............1$11$11111111111111111111111111111111111111..............1111$1111111111111111111$1111$1111111111111.............111111111111111111111111111111111111111111111............1111111111111111111111111$1111111111111111111............111111111111111111111111111111111111111111111X..........111111111$1111111111111111111111111111111111111..........11111111111111111111111111111111111111111111111.........11111$111$1111111111111111111111111111111111111X1........1111111111111111111111111111111111111111111111111........1111111111111111111111111111111111111111111111111.......111111111111111111111111111111111111111111111X11111......1111111111111111111111111111111111111111111111X1111......111111111111111111111111111111111111111111111111111......11111111111111111111111111111111111111111111X111111X....11111111111111111111X11111111111111111111111111111111....11111111111111111111111111111X111111111X1111111111111....11111111111111111111111111111111111111111111111111111....111111111111111111111111111111111111111111111111111111..1111111111111111111111111111111111111111111111111111111..1X11111111111111111111111111111111111111111111111111111..1111111111111111111111111111111111111111111111111111111..1111111111111111111111111111111111111111111111111111111..1111111111111111111111111111111111X11111111111111111@@@..@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@X@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@X@@@@@@@@@X@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@X@@@@@@@@@X@@@@@@@@@@@@@@@@@@@@@@@@@@X@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@X@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@X@@@@@@@@@@@@@X@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@X@@@@@@@X@@@@@@@@@@@@@@@X@@@@@@@@@@@@@@@@@@@@@@@@X@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@X@@@@@@@@@@@@@@@@@@@@@@@@X@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@X@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@X@@@@@@@@@@@@X@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@X@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@X@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@X@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@X@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@X@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@X@@@@@@@@@@@@@@@@@@@@@@X@@@@@@@@@@@@@@@@@@@@@@@@@@@@.@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.@@@@@@@@@@@@X@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@..@@@@@@@@@@@@@@@@@@@@@@X@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@..@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@..@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@X@@@@@@@@@@@@@@@@@@@@@@..@@X@@@@@@@@@@@@@@@@@@@X@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@...@@@@@@@X@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@X@...@@@@@@@@@@@@@@@@@@@@X@@@@@@@@@@@@@@@@@@@@@@@@@@@@X@@@....@X@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@....@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.....@@X@@@@@@@@@@@X@X@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@X@@X.....@@@X@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@......@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@......@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.......@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@........@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@X@@........@@X@@@@@@@@@@@@@@@@@@@@@X@@@@@@@@@@@@@@@@@@@@@@@@.........@@@@@@@@@@@@@@@@@@@@@@@@X@@@@@@@@@@@@@@@@@@@@@@..........@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@...........@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@...........@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@............X@@@@@X@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@X.............@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@..............@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@...............@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.................@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.................@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@...................@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@X@X@....................@@@@@@@@@@@@@@@@@X@@@@@@@@@X@@@@@@@@@.....................@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.......................@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.........................@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.........................@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@...........................@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.............................@@@@@@@@@@@@@@@@@@@@X@@@@@@...............................@@@@@@@@@@@@@@@@@@@@@@@@@..................................@@@@@@@@@@@@X@@@@@@@@.....................................@@@@@@@@@@@@@@@@@@@........................................@@@@@@@@@@X@@@@............................................@@@@@@@@@@@..................................................@@@...........................";
//       String binlist ="...............................................................1111.........1111......................................................................................................................111111111111111111111111111111............................................................................................................11111111111111111111111111111111111111....................................................................................................11111111111111111111111111111111111111111111*1.............................................................................................1111111111111111111111111111111111111111111111111111........................................................................................1111111111111111111111111111111111111111111111111i1111111..................................................................................11111111111111111111111111111111111111111111111111111111111111..............................................................................111111111111111111111111111111111111111111111111111111111111111111..........................................................................1111111111111111111111111111111111111111111111111111111111111111111111......................................................................11111111111111111111111111111111111111111111111111111111111111111111111111..................................................................111111111111111111111111111111111111111111111111111111111111111111111b11111111...............................................................111111111111111111111111111111111111111111111111111111111111111111111111111111111...........................................................111111111111111111111111111111111111111111111111111111111111111111111111111111111111.........................................................1111111111111111111B11111111111111111111111111111111111111111B1111111111111111111111111.....................................................111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...................................................111111111111111111111111111i11B1111111111111111111111111111111111111111111111111111111111111.................................................11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111..............................................1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...........................................1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111.........................................1111111111111111111111111111111111*1111111111111111111111111111111111111111111111111111111111111111111.......................................1111111111111111111111111111111111111111111111111111111111111111111111111111111I111111111111111111111111.....................................1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...................................11111111111111111111111111111111111111111*111111111111111111111111111111111111111111111111111111111111111111.................................11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111115...............................1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111.................................1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111*1.................................1111111111111111111111111111111111111111111111111111111111111111111111*1111111111111111111111111111111111111.................................11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111................................11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...............................1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111..............................111111111111111111111111111111111111111*1111111111111111111111111111111111111111111111111111111111111111111111111............................11111111111111111111111111111111111111111111111111111111111111111111*111111111111111111111111111111111111111111111...........................11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...111....................11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111.11111...................111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111.11111i.................1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111.11111111..............11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111.11111111..............11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111.111111111............11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111*111.111111111............111111111111111111111*1111111111111111111111111111111511111111111111111111111111111111111111111111111111111111111111111111111111111..........111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111..........1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111........11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111........111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111*1111111111111111111111111........1111111111111111111111111111111111111111111111111111111111111111111111*1111111111111111111111111111111111111111111111111111111111111111......1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111......11111v1111111111111111111111111111111111111111111111111111111F11111111111111111111111111111111111111111111111111111111111111111111111111......11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111....1111111111111C1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111....111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111....111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111....1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111..11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111..11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111..11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111..11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111..111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111.1111*11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111BB.11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111A1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111*111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111B1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111B1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111*111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111*1111111111111111111111111111111111111111111111111111111111111111111.111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111.111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111.111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111.11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111..1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111*..11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111..11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111y11...111111111111111111111111111111111111111111111111i111111111*111111111111111111111111111111111111111111111111111111111111111111111111111111y1...111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111....111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111....1111111111111111111111111111111111111*11111111111111111111*1111111111111111111111111111111111111111111111111111111111111111111111111111111.....11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111.....11111111111111111111B1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111......1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111.......111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111.......111111i1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111.........11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111y1111111111111111111111111111111111111111.........11111111*111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111..........111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...........1111111111111111111111111111111111111111111111111111i11111111111111111111111111111111111111111111111111111111111111111111111111111............11111111111111111111111111111111111111111111111111111111111111111111111111111111y1111111111111111111111111111111111111111111111111.............111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111.............11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111................11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111.................11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111B1111...................11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111.....................11...11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...........................111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111.............................1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...............................111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111................................11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111................................1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111.................................111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111.................................111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111.................................11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111i1111111111................................11111111111111111111111111111111111111111111111111111111111111111111111111i1111111111111111111111111111111111..................................11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111....................................111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111......................................1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111........................................11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111..........................................111111111111111111111111111111111111111111B11111111111111111111111111111111111111111111111111111111............................................111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...............................................T111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111.................................................11111111111111111111111111111111111111111111111111111111*11111111111111111111111111111111111....................................................11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111......................................................11111111111111111111111111111111111111111111111111111111111111111111111111111111111111..........................................................B111111111111111111111111111111111111111111*111111111111111111111111111111111111111............................................................11111111111111111111111111111111111111111111111111111111111111111111111111111111................................................................11111111111111111111111111111111111111111111111111111111111111111111i1111111....................................................................1111111111111111111111111111111111111111111111111i111111V11111111111*1111.......................................................................111111111111111111111111111111111111111111111111111111111111111111111...........................................................................11111111111111111111111111111111111111111111111111111111111111111...............................................................................111111111111111111111111111111111111111111111111111111111111....................................................................................111111111111111*1111111111111111111111111111111111111111.........................................................................................11111111111111111111111111111111111111111111111111..............................................";
//        String binlist = ""+
//                ".........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................611111111611111111111111111111111111114.................................................................................................611111111111111111111111111111111111111111114............................................................................................1111111111111111111111161111111111111111111111111........................................................................................11111111111111111111111111111111111111111111111111111....................................................................................111111111111111111111111111111111111111111111111111111111................................................................................1111111111111111111111111111111111111111111111111111111111111...........................................................................461111111111111111111111111111111111111111111111111116111111111116.........................................................................11111111111111111611111111111111111111111116111111111111111111111114.....................................................................11111111111111111111111111111111111111111111111111111111111111111111111...................................................................1111111111111111111111111111111111111111111111111111111111111111111111111................................................................61111111111111111111111111111111111111111111111111111111111111111111111111114.............................................................1111111111111111111111111111111111111111111111111111111111111111111111111111111...........................................................111111111161111111111111111111111111111111111111111111111111111111111111111111111.........................................................11111111111111111111111111111111111111111111111111111111111111111111111111111111111.......................................................11111111111111111111111111111111111111111111111111111111111111111111111111111111111114...................................................66111111111111111111111111111111111111111111111111111111111111111111111111111111111111114.................................................6111111111111111111111111111111111111411111111111111111111111111111111111111111111111111114...............................................611111111111111111111111111111111111111111111111111111111111111111111111111111111111111111114.............................................61111111111111111161111111111111111111111161111111111111111111111111111111111111111111111111114...........................................611161161111111111111611111111111111111116111111111111111111111111111111111111111111111111111111...........................................1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111116.........................................111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111.......................................11111111111111111111111111111111111111111111111111111111111111111111111111111111111611111111111111111.....................................1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...................................611111111111111111111111111111111111111111111111111111116111111111111111111111111111111111111111111111114..................................111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111.................................11111111111611111111111111111111111116111111111111111111111111111111111111111111111111111111111111111111111...............................1111111111111111111111111111111111111111111111111111111111111111111111111111611111111111111111111111111111111..............................1111111111111111111111111111111111111111111111111111111111111111111111111111116111111111111111111111111111111.............................1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111114..........................61111111111111161111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111..........................11111111111111111111111111111111111111111111611111111111111111111111111111111111111111111111111111111111111111111.........................1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111........................1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111.......................111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111......................1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111114....................11111111111111111111111111111111111111111111111111116111111111111111111111111111111111111111111111111111111111111111111....................111111111111111111111111111111116611111111111111111111111111111111111111111111111111111111111111111111111111111111111114...................111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...................611111111111111111111111111111111111111111111111111111111111111111161111111111111111111111111111111111111111111111111111...................111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...................111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111116111111111111111111...................111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...................111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111116111111111111...................111111111111111111111111111111116111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...................111111111111111111111611111111161111111111111111111111111111111111111111111111161111111111111111111111111111111111111111...................111111111161111111111111111111111111111111111111111116111111111111116111111111111111111111111111111111111111111111111111...................111111111111111111111111111111111111161111111111111111111111111111111111111111111111111111111111111111111111111111111111..............111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111611111111111..........111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111..........111111111111111111111111111111111111111116111111111111111111111111111111111111111111111111111111111111111111111111111111111111111..........1111111111111111111111111111111111111111111111111111111111111116111111111111111111111111111111111111111111111111111111111111111114........11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111........16111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111........11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111........11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111.......6111111111111111111111111111111111111111611111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111......1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111......1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111......1111111111111111111111111111111111111111111161111111111111111111111111111111111111111111111111111111111111111111111111111111111111111......1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111......1111111111111111111111111111111111111111111111111111116111111111111111111111111111111111111111111111111111111111111111111111111111111.....611111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111114....111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111....111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111....111111111111111111111111111111111111111111111111111111116111111111111111111111111111111111111111111111111111111111111111111111111111111....111111111111111111111111111111111111111111111111111111161111111111111111111111111111111111111111111111111111111111111111111111111111111....111161111111111111111111111111111611111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111....111111111111111111611111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111116....111111111111111111111111111111111111111111111111111111111111111111111111111611111111111111111111116111111111111111111111111111111111111....111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111....111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111....111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111....111111111111111111111111111161111111111111111111111111111111111111111111111111111111111611111111111111111111111111111111111111111111111....111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111....611111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111....611111111111111111111111111111111111111111111111111111111111111111111111161111111111111111111111111111111111111111111111111111111116111....111111116111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111....111111111111111111111111111111111111111111111111111111111111111141111111111111111111111111111111111111111111111111111111111111116111111....111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111....611111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111114.....1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111......1111111111111111111111111111111111116111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111......1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111......1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111161111111111111111111111111111111111111111......1111111111111111111111111111111111111111111116111111111111111111111111111111111111111111111111111111111111111111111111111111111111111......6111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111.......111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111114.......11111116111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111........11111111111111111111111111111111111111111111111111611111111111111111111111111111111111111111111111111111111111111111111111111111111........11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111116.........1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111114.........111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111..........111111611111111111111111111111111111111111111111111111111111111111111111111111111111111111111111161111111111111111111111111111111..........611111111111111111111111111111111111111111111111111111111111111111111111111111111111611111111111111111111111111111111111111111111...........1111111111111111111111111611111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111............4444111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111444............4444111111111111111111111111111111111111111111111111111111111611111111111111111111111111111111111111111111111111111111111111444.............44411111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111144..............44411111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111144..............44411111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111144...............441111111111111111116111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111114................441111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111114.................4111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111..................4111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111161...................11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111....................11111111111111161111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111.....................111111111611111111111111111111111111111111111111611111111111111111111111111111111111111111111111111111111111111111111......................111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111611111111111111111111111.......................1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111161111........................1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111.........................11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111..........................61111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111114...........................111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111611111111111111.............................1111111111111111111161111111111111111111111111111111111111111111111111111111111111111111111111111111111111111..............................6111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111116...............................11111111111111111111111111111111111111111111111111111611111111111111111111111111111111111111111111111111111.................................111111111111111111111161111111111111111111111111111111111111111111111111111111111111161111111111111111111..................................611111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111114...................................1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111.....................................11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111.......................................111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111.........................................1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...........................................111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111114............................................1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111114.............................................611111111111111111111111111111111111111111111111111111111111111111111111111111111111111111114...............................................6111111111111111111111111111111111111111111111111111111111111111111111111111111111111111114.................................................61111111111111111111111111111111111111111111111111111111111111111111111111111111111111114....................................................1111111111111111111111111111111111111111116111111111111111111111111111111111111111111.......................................................11111111111111111111111111116111111111111111111111111111111111111111111111111111111.........................................................111111111111111111111111111111111111111111111111111111111111111111111111111111111...........................................................1111161111111111111111111111111111111111111111111111111111111111111111111111111.............................................................61111111111111111111111111111111111111111111111111111111111111111111111111114................................................................1111111111111111111111111111111111111111111111111111116111111111111111111...................................................................61111111111111111111111111111111111111111111111111111111111111111111116......................................................................1111111111111111111111111111111111111111111111111111111111111111111.........................................................................61111111111111111111111111111111111111111111111111111111111111114............................................................................6111111111111111111111111111111111111111111111111111111111116...............................................................................6111111111111111111111111111111111111111111111111111111111....................................................................................11111111111111111111111111111111111111111111111111111........................................................................................6111111111111111111111111111111111111111111111114.............................................................................................1111111111111111111111111111111111111111111...................................................................................................11111111111111111111111111111111111114........................................................................................................61111116666666..666644461111114......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................."
//                + "";
//        binlist = transferAngleAsFlatNotchLocation(binlist,360, "152", "139");
//        System.out.println(binlist);
//        char[] binchar = binlist.toCharArray();
//        for (int i = 0; i < binchar.length; i++) {
//            System.out.print(binchar[i]);
//            if ((i + 1) % 152 == 0) {
//                System.out.println("");
//            }
//        }
        System.out.println((360l -270) % 360);
        StringBuilder newbinList = new StringBuilder("");
       String binList = "123456789123456789123456789123456789";
        char[][] binArray = WaferTransferUtil.toDoubleArray(binList, 4, 9);
        for (int i = 0; i < 4; i++) {
            if (i < 1 || i > 3) {
                continue;
            }
            for (int j = 0; j < 9; j++) {
                if (j < 0 || j > 8) {
                    continue;
                }
                newbinList.append(binArray[i][j]);
            }
        }
        binList = newbinList.toString();
        System.out.println(binList);
        System.out.println(binList.length());
        
       
    }
    
}